In addition to ARMA models, we also implemented $ARMA(p, q) - GARCH(h,k)$ models, which combine a model of dynamic returns and their volatilities, in the following way:

\begin{eqnarray*}
r_t &=& \phi_0 + \sum_{i=1}^p {\phi_i r_{t-i}}  + u_t + \sum_{j=1}^q {\psi_j u_{t-j}}, u_t = \sigma_t \epsilon_t \\
\sigma_t^2 &=& \omega + \sum_{j=1}^k {\alpha_j u_{t-j}^2} + \sum_{i=1}^h{\beta_j \sigma_{t-i}^2}
\end{eqnarray*}

Due to the limit of experimental time\footnote{the search of model takes quite a long time in the experiment.}, we use  the $AR(1)-GARCH(1,1) $ model directly, instead of choosing parameters on the fly. The overall precision of the $AR(1)-GARCH(1,1)$ for each portfolio are shown in Figure. \ref{fig:garch_expand_prec}. They are better than the ARMA models showing consistent 70 percent prediction sucess. Also, the performance between expanding window and rolling window is very similar.

\begin{figure}[hbtp]
\centering
\includegraphics[width=7.5cm, height=5cm]{../results/garch_expand_precision.png}
\caption{The Overall Precision of Prediction of AR(1)-GARCH(1,1) Models using Expanding Window}
\label{fig:garch_expand_prec}
\end{figure}